MySQL Een primaire sleutel maken in een nieuwe tabel
Home

MySQL Een primaire sleutel maken in een nieuwe tabel

MySQL Een primaire sleutel maken in een nieuwe tabel

Meestal creëer je een primaire sleutel wanneer je de tabel maakt.

Probleem

Hoe maak je een nieuwe tabel aan met een primaire sleutel?

Oplossing

Je voegt eerst een nieuwe kolom toe van het gegevenstype int, met de eigenschap AUTO_INCREMENT en de constraint PRIMARY KEY. De naam van de primaire sleutel is meestal Id. Bijvoorbeeld:

use ModernWays;
drop table if exists Boeken;

-- de naam van de tabel in pascalnotatie
create table Boeken(
    Voornaam nvarchar(50),
    Familienaam nvarchar(80),
    Titel nvarchar(255),
    Uitgeverij nvarchar(255),
    Stad nvarchar(50),
    Verschijningsdatum varchar(4),
    Herdruk varchar(4),
    Commentaar nvarchar(2000),
    Categorie nvarchar(120),
    Id int auto_increment PRIMARY KEY
);

Als je nu rijen invoegt, hoef je geen waarde te specifiëren voor de kolom Id. Sterker nog: het is op geen enkele manier toegelaten een primaire sleutel in te stellen op NULL.

Opgave

Schrijf nu een script, 0059__GamesCreate.sql dat een tabel maakt voor video games, met een primaire sleutel met naam Id die automatisch ophoogt voor elke nieuwe entry. De titel van een game is van het type varchar en kan maximaal 255 karakters tellen. Voor de ontwikkelaar geldt hetzelfde.

Schrijf vervolgens een script, 0060__GamesInsert.sql, dat onderstaande data invult in de tabel:

Titel Ontwikkelaar Id
Doom ID Software 1
Doom ID Software 2
Tomb Raider Crystal Dynamics 3
Tomb Raider Crystal Dynamics 4
God of War SCE Santa Monica 5
God of War SCE Santa Monica 6

Schrijf ten slotte een script, 0061__GamesSelect.sql, dat enkel de recentste Doom uit de tabel selecteert.

VN
2019-03-29 16:04:09